package com.gao.api.gate.quick.proto.point;

import com.gao.api.gate.quick.proto.http.RequestContext;
import io.netty.handler.codec.http.HttpContent;
import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.LastHttpContent;

/**
 * <p></p>
 *
 * @author gaoshuangwen
 * @since 2022/01/11 15:40
 */
public interface RequestHandler {

    void onMessageReceived(Handler<HttpRequest> handler);

    void onInvalidMessageReceived(Handler<HttpRequest> handler);

    void onContextReceived(Handler<HttpContent> handler);

    void onLastContextReceived(Handler<LastHttpContent> handler);

    void acceptToCompleted(Handler<RequestContext> handler);

    void onThrowable(Handler<Throwable> handler);
}
